package com.example.demo7fileReader;

import java.io.FileReader;
import java.io.Reader;

/**
 * 目标：掌握 文件字符输入流 读取字符内容到程序中来。
 * public int read()	每次读取一个字符返回，如果发现没有数据可读会返回-1.
 */
public class FileReaderDemo1 {
    public static void main(String[] args) {
        try (
                // 1.创建文件字符输入流与源文件接通
                Reader fr = new FileReader("day12-file-io\\src\\yu05.txt");
        ) {
            // 2.定义一个字符数组，每次读多个字符
            char[] chs = new char[3];
            int len; // 用于记录每次读取了多少个字符
            while ((len = fr.read(chs)) != -1) {
                // 3.每次读取多个字符，并把字符数组转换成字符串输出
                String str = new String(chs, 0, len);
                // 会自带一个换行符，输出的时候需要去掉换行
                System.out.print(str);
            }

            // 拓展：文件字符输入流每次读取多个字符，性能较好，而且读取中文
            // 是按照字符读取，不会出现乱码！这是一种读取中文很好的方案。
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}



